package com.obligatorio.persist.dao;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.apache.log4j.Logger;

import com.obligatorio.domain.Buzon;
import com.obligatorio.domain.Usuario;
@Stateless
public class BuzonDAOBean implements BuzonDAOLocal {

	private static final Logger log = Logger.getLogger(BuzonDAOBean.class.getName());

	@PersistenceContext(unitName = "JPA_UNIT_OBL")
	EntityManager em;
	
	@Override
	public Buzon crearBuzon(Buzon buzon) throws Exception {
		log.info("crearBuzon() -> " + buzon.toString());
		Buzon result = null;
		try {
			Usuario tmpUsuario = (Usuario) em
			.createNamedQuery("findUserByEmail", Usuario.class)
			.setParameter("EMail", buzon.getIdUsuario().getEmail()).getSingleResult();
			buzon.setIdUsuario(tmpUsuario);
			em.persist(buzon);
//			System.out.println("Buzon Creado "+buzon.getId());			
			tmpUsuario.setBuzon(buzon);
			em.merge(tmpUsuario);
		} catch (Exception e) {
			log.error(e.getCause());
			e.printStackTrace();
			return result;
		}
		return result;
	}

}
